<?php
	include("../util.php");
	include("../config.inc.php");
	include("../clases.php");
	require_once("../FirePHPCore-0.3.2/lib/FirePHPCore/FirePHP.class.php");
	session_start();

if(!$_SESSION["obj_sesion"]->compruebaAcceso("ADME")){	
	echo "<script language='javascript'>location.href='salir.php'</script>";
	die(); }
		

switch($_REQUEST["action"]){

/*#######################################################################################################################################################*/
/*########################################################################  GRID  #######################################################################*/
/*#######################################################################################################################################################*/

	//Se muestra el primer grid de lotes
	case 'grid':{
		ob_start();

		$alerta = FirePHP::getInstance(true);
		$page = $_GET['page']; // get the requested page
		$limit = $_GET['rows']; // get how many rows we want to have into the grid 
		$sidx = $_GET['sidx']; // get index row - i.e. user click to sort 
		$sord = $_GET['sord']; // get the direction 
		if(!$sidx) $sidx =1; 
		
		//Se recogen en arrrays los campos y sus respectivos alias de los lotes que queremos obtener de la base de datos 
		$campos = array("n_lote","articulo", "udsxcaja", "cantidad", "distribuidor","id_producto" ,"id_lote","fecha_caducidad" );
		$traductor = array("l.n_lote", "p.nombre", "p.udsxcaja", "l.cantidad", "d.nombre", "p.id_producto","l.id_lote","l.fecha_caducidad");
		
		descodificar_utf8_array($_GET);
		
		if($_SESSION["obj_sesion"]->getTipo()=="Normal" ){
				$esNormal=true;
				$id_empresa=$_SESSION["obj_sesion"]->getid_empresa();
			} else  if($_SESSION["obj_sesion"]->getTipo()=="Superusuario" ){
				$esNormal=false;
			}
		//Se obtienen a traves de una consulta los registros de lotes de la base de datos
		if ($esNormal)
			$result = consultaSimple("lotes, distribuidores","lotes.fecha_baja IS NULL and lotes.id_distribuidor=distribuidores.id_distribuidor and distribuidores.id_proveedor= ".$id_empresa,"","COUNT(*) AS count");
			else
			$result = consultaSimple("lotes","fecha_baja IS NULL","","COUNT(*) AS count");
		
		//Se recoge el numero de lotes de la base de datos
		$count = $result['count']; 

		//Se calcula el total de paginas que tendrá el grid en funcion de los registros disponibles
		if( $count >0 ) { 
			$total_pages = ceil($count/$limit); 
		} else { 
			$total_pages = 0;
		} 
		if ($page > $total_pages) 
			$page=$total_pages; 
		//Se calcula el numero de registro en el que empieza la pagina actual del grid
		$start = $limit*$page - $limit;

		$table =" lotes l, productos p, distribuidores d ";
			

		$select = ' l.n_lote as n_lote '.formar_select_jqgrid($campos,$traductor);
		
		if ($esNormal)
			$where .="l.fecha_baja IS NULL AND p.id_producto = l.id_producto AND l.id_distribuidor = d.id_distribuidor and d.id_proveedor= ".$id_empresa;
		else
		$where .=" l.fecha_baja IS NULL AND p.id_producto = l.id_producto AND l.id_distribuidor = d.id_distribuidor";
			
		$where .= formar_where_jqgrid($campos,$traductor,$_GET);
		$result = consultaMultiple($table,$where,"ORDER BY $sidx $sord LIMIT $start , $limit",$select);
		pasar_utf8_array($result);
		$responce->page = $page; 
		$responce->total = $total_pages; 
		$responce->records = $count; 
				for($i=0;$i<count($result);$i++){
			$result[$i]['fecha_caducidad']=fechaToNormal($result[$i]['fecha_caducidad']);
		}
		//Se llena un array con los datos de los lotes que posteriormente será el origen de datos del grid
		for($i=0;$i<count($result);$i++){
			$responce->rows[$i]['n_lote']=$result[$i]["n_lote"]; 
			for($x=0;$x<(count($campos));$x++){
				/*if ($x == 4) {
					$y=$x-2;
					$udspalet=$result[$i][$campos[$y]]/$result[$i][$campos[$x]];
					$responce->rows[$i]['cell'][]=number_format($udspalet, 2, ",", ".");;
				} else { */
					$responce->rows[$i]['cell'][]=$result[$i][$campos[$x]];
				//}
				}
		}
		//echo '<input type="hidden" id="id_producto" name="id_producto" value="'.$result['id_producto'].'">';
		
		echo json_encode($responce); 
		die();
	}
	
	//Se muestra el subgrid de lotes
	case 'grid2':{
		ob_start();

		$alerta = FirePHP::getInstance(true);
		$page = $_GET['page']; // get the requested page
		$limit = $_GET['rows']; // get how many rows we want to have into the grid 
		$sidx = $_GET['sidx']; // get index row - i.e. user click to sort 
		$sord = $_GET['sord']; // get the direction 
		if(!$sidx) $sidx =1; 
		$consulta=consultaSimple('movimientos','','','');
		
		//Se recogen en arrrays los campos y sus respectivos alias de los lotes que queremos obtener de la base de datos 
		$campos = array("n_lote","articulo","n_expedicion", "movimiento", "unidades","fecha");
		$traductor = array("lo.n_lote","p.nombre", "m.n_expedicion", "m.movimiento", "m.unidades", "m.fecha");
		
		descodificar_utf8_array($_GET);
		//Se recogen los datos de los movimientos relativos al lote en cuestion
		$result = consultaSimple("movimientos m","m.id_lote=".$_REQUEST["id_lote"] ,"","COUNT(*) AS count");
		//Se recoge el numero de movimientos de la base de datos
		$count = $result['count']; 

		//Se calcula el total de paginas que tendrá el grid en funcion de los registros disponibles
		if( $count >0 ) { 
			$total_pages = ceil($count/$limit); 
		} else { 
			$total_pages = 0;
		} 
		if ($page > $total_pages) 
			$page=$total_pages; 
		//Se calcula el numero de registro en el que empieza la pagina actual del grid
		$start = $limit*$page - $limit;
		
		$table =" lotes lo join movimientos m on m.id_lote=lo.id_lote join productos p on m.id_producto=p.id_producto ";
			

		$select = ' lo.n_lote as n_lote '.formar_select_jqgrid($campos,$traductor);
		$where .=" lo.fecha_baja IS NULL and m.id_lote=".$_REQUEST['id_lote'];
		//$where .= formar_where_jqgrid($campos,$traductor,$_GET);
		$result = consultaMultiple($table,$where,"ORDER BY $sidx $sord",$select);
		pasar_utf8_array($result);
		$responce->page = $page; 
		$responce->total = $total_pages; 
		$responce->records = $count; 
		for($i=0;$i<count($result);$i++){
			$result[$i]['fecha']=fechaToNormal($result[$i]['fecha']);
		}
		//Se llena un array con los datos de los movimientos relativos al lote en cuestion que posteriormente será el origen de datos del subgrid
		for($i=0;$i<count($result);$i++){
			$responce->rows[$i]['n_lote']=$result[$i]["n_lote"]; 
			for($x=0;$x<count($campos);$x++){
				/*if ($x == 4) {
					$y=$x-2;
					$udspalet=$result[$i][$campos[$y]]/$result[$i][$campos[$x]];
					$responce->rows[$i]['cell'][]=number_format($udspalet, 2, ",", ".");;
				} else { */
					$responce->rows[$i]['cell'][]=$result[$i][$campos[$x]];
				//}
				}
		}
		echo json_encode($responce); 
		die();
	}

/*#######################################################################################################################################################*/
/*##################################################################  FORMULARIO  #######################################################################*/
/*#######################################################################################################################################################*/

	/*case 'form':{
		$vector= array();
			$_action = "insertar";
			
			if (isset($_REQUEST["id_cliente"])){
				$_action = "modificar";
				$vector = consultaSimple("cliente","fecha_baja is null and id_cliente=".$_REQUEST["id_cliente"]);
				pasar_utf8_array($vector);
			}
					$proveedor=consultaMultiple("proveedores","fecha_baja is null","","id_proveedor, nombre");
					pasar_utf8_array($proveedor);
					$cuent=consultaSimple("proveedores","fecha_baja is null","","COUNT(*) as cuenta");
					$cuentap=$cuent['cuenta'];
			if($_action=="insertar" && ( $_SESSION["obj_sesion"]->getTipo()!="Superusuario"))
				{die('<fieldset style="width:95%;">
						<legend class="txt_normal">
							<b>
								Atenci&oacute;n
							</b>
						</legend>
						<center>
							No tiene permisos para crear clientes, ya que su nivel de usuario es insuficiente.
							<br>
							<input type="button" onclick="volver()" value="Volver" />
						</center>
					</fieldset>');}
			else {
			// Menu desplegable de proveedores
				echo '		<fieldset style="width:95%;">
					<legend class="txt_normal">
						<b>
							Datos Clientes
						</b>
					</legend>
				<form id="form_datos" >
					<input type="hidden" id="id_cliente" name="id_cliente" value="'.$_REQUEST['id_cliente'].'"/>
			
					<table border="0" cellpadding="3" cellspacing="2" width="95%" align="center">
					<tr>
						<td width="20%" align="right" id="nombre">
							Nombre (*):
						</td>
						<td>
							<input type="text" name="nombre" id="nombre" class="requeridos" size="50" maxlength="100" value="'.$vector['nombre'].'"/>
						</td>
					</tr>
					<tr>
						<td width="20%" align="right">
							CIF :
						</td>
						<td>
							<input type="text" name="cif" id="cif" size="50" maxlength="9" value="'.$vector['cif'].'"/>
						</td>
					</tr>
					<tr>
						<td width="20%" align="right" id="direccion">
							Direccion (*):
						</td>
						<td>
							<input type="text" class="requeridos" name="direccion" id="direccion" size="50" maxlength="100" value="'.$vector['direccion'].'"/>
						</td>
					</tr>
					
					<tr>
						<td width="20%" align="right" id="localidad">
							Localidad (*):
						</td>
						<td>
							<input type="text" name="localidad" class="requeridos" id="localidad" size="50" maxlength="50" value="'.$vector['localidad'].'"/>
						</td>
					</tr>
					<tr>
						<td width="20%" align="right">
							Codigo Postal :
						</td>
						<td>
							<input type="text" name="codigo_postal" id="codigo_postal" size="50" onKeyPress="return comprobar_solonumeros(event);"  maxlength="5" value="'.$vector['codigo_postal'].'"/>
						</td>
						</tr>
					
					<tr>
						<td width="20%" align="right" id="provincia">
							Provincia (*):
						</td>
						<td>
							<input type="text" name="provincia" class="requeridos" size="50" maxlength="50" value="'.$vector['provincia'].'"/>
						</td>
					</tr>
					<tr>
						<td width="20%" id="telefono" align="right" >
							Telefono(*): 
						</td>
						<td width="60%">
							<input type="text" size=50 maxlength="9" name="telefono" class="requeridos" onKeyPress="return comprobar_solonumeros(event);" value="'.$vector['telefono'].'" />
						</td>
					<tr>
						<td width="20%" align="right">
							Fax :
						</td>
						<td>
						<input type="text" name="fax" id="fax" size="50" onKeyPress="return comprobar_solonumeros(event);" maxlength="9" value="'.$vector['fax'].'"/>
						</td>
					</tr>
					<tr>
						<td width="20%" align="right">
							Email :
						</td>
						<td>
							<input type="text" name="email" id="email" size="50" maxlength="50" value="'.$vector['email'].'"/>
						</td>
					</tr>
					<tr>	
						<td width="20%" align="right" id="id_proveedor">
							<input type="hidden"  />
								Proveedor (*):
						</td>
						<td style="text-align:left;">
							<select name="id_proveedor" id="id_proveedor" class="requeridos"> ';
				
		
						if($vector['id_proveedor'] == null){echo '<option value=0>Seleccione proveedor</option>';}
						for($i=1;$i<=$cuentap;$i++){
							if($vector['id_proveedor']== $i){
									echo '<option value='.$i.' selected="selected">'.$proveedor[$i-1]['nombre'].'</option>';
								}else{
									echo '<option value='.$i.'>'.$proveedor[$i-1]['nombre'].'</option>';}
								}
						echo'
						</select>
						</td>
					
					</tr>
					<tr>
						<td class="txt_normal_neg" colspan="2" align="center">
							Los campos marcados con un asterisco (*) son campos obligatorios.
						</td>
					</tr>
					<tr>
						<td class="txt_normal_neg" style="text-align:center; " colspan="2">
							<div id="contenedor">
							</div>
						</td>
					</tr>	
					<tr>
						<td colspan="2" align="center">
							<input type="button" value="&nbsp;Aceptar" id="aceptar" style="width:100px; " class="aceptar" onClick="javascript:guardar(\''.$_action.'\');" />
							<input type="button" onclick="volver()" value="Volver" />
						</td>
					</tr>
					</table>
				
				</form>
				</fieldset>	';}
		die();
	}*/

/*#######################################################################################################################################################*/
/*################################################### OPERACIONES DE EDICION DE REGISTROS ###############################################################*/
/*#######################################################################################################################################################*/

	/*case 'insertar':{
		//if($_POST["nombre"]==""){ echo "nombre"; die(); }
        //if(count($_POST["caracteristicas"])=="0"){ echo "caracteristicas"; die(); }

		$id_max = maxId("cliente","id_cliente");

		//$vector = array();
		$vector['id_cliente'] = $id_max;
		$vector["nombre"] = $_GET["nombre"];
		$vector["cif"] = $_GET["cif"];
		$vector['direccion'] = $_GET['direccion'];
		$vector['localidad'] = $_GET['localidad'];
		$vector['codigo_postal'] = $_GET['codigo_postal'];
		$vector['provincia'] = $_GET['provincia'];
		$vector['telefono'] = $_GET['telefono'];
		$vector['fax'] = $_GET['fax'];
		$vector['email'] = $_GET['email'];
		$vector['id_proveedor'] = $_GET['id_proveedor'];
		
		insertaBD("cliente",$vector);
		die("OK");
	};*/
	/*case 'modificar':{
       // if(count($_POST["caracteristicas"])=="0"){ echo "caracteristicas"; die(); }
		$id_cliente = maxid("cliente","id_cliente");
		$vector = array();
		$vector['nombre'] = $_GET['nombre'];
		$vector['cif'] = $_GET['cif'];
		$vector['direccion'] = $_GET['direccion'];
		$vector['localidad'] = $_GET['localidad'];
		$vector['codigo_postal'] = $_GET['codigo_postal'];
		$vector['provincia'] = $_GET['provincia'];
		$vector['telefono'] = $_GET['telefono'];
		$vector['fax'] = $_GET['fax'];
		$vector['email'] = $_GET['email'];
		$vector['id_proveedor'] = $_GET['id_proveedor'];
	
		modificaBD("cliente",$vector,"id_cliente = ".$_REQUEST["id_cliente"]);
		die("OK");			
	};*/
	/*case 'borrar':{

		$vector = array();
		$vector["fecha_baja"] = date("Y-m-d H:i:s");

		modificaBD("cliente",$vector,"id_cliente=".$_REQUEST["id_cliente"]);
		echo "<script language='javascript'>print_grid();</script>";
		die("OK");
	};*/
	/*case 'informacion_mesa':  //Informacion con tabs para saber la informacion del servidor, ya sea de usuario, producto o caracteristicas
		echo '
		<div>
			<div id="tabs">
				<ul>
					<li><a href="mesas/backend.php?action=informacion_usuario&id='.$_GET['id'].'">Empresas</a></li>
					<li><a href="mesas/backend.php?action=informacion_productos&id='.$_GET['id'].'">Productos</a></li>
					<li><a href="mesas/backend.php?action=informacion_caracteristicas&id='.$_GET['id'].'">Caracteriticas</a></li>
				</ul>
			</div>
			<div align="center"><input type="button" onclick="volver()" value="Volver" /></div>
		</div>		
		';
		break;*/
	
/*	case 'informacion_usuario':		//Informacion de los usuarios en la mesa.
		$usuario = consultaMultiple('empresa_mesa em INNER JOIN seguridad_tipos st ON st.id_tipo = em.id_tipo INNER JOIN empresa ss ON ss.id_empresa = em.id_empresa ','em.id_mesa = '.$_GET['id'],'','DISTINCT ss.empresa as empresa, em.comprador as comprador, st.tipo as tipo, st.id_tipo AS id_tipo');
		pasar_utf8_array($usuario);
		echo '<table width="500px"><tr><td style="border-bottom:1px; font-size:14px" width="50%">Empresa</td><td style="border-bottom:1px; font-size:14px" width=25%>Rol</td><td width=25% style="border-bottom:1px; font-size:14px">Tipo</td></tr>';
		foreach($usuario as $key => $value)
		{
			echo '<tr><td>'.$value['empresa'].'</td><td>'.$value['tipo'].'</td><td>'.($value['id_tipo']<3?"--":($value['comprador']==0?"Vendedor":"Comprador")).'</td></tr>';	
		}
		echo '</table>';
		break; */
	/*case 'informacion_cliente':	//Informacion de los productos que lleva la mesa
		$usuario = consultaMultiple('productos pr INNER JOIN medida me ON me.id_medida = pr.id_medida LEFT JOIN cotizaciones co ON pr.id_producto = co.id_producto','pr.id_mesa = '.$_GET['id'].' AND id_cotizacion IN (SELECT MAX(id_cotizacion) FROM cotizaciones GROUP BY id_producto)','','DISTINCT pr.producto as producto, me.abreviatura as medida, co.cotizacion_min as cot_min, co.cotizacion_max as cot_max, co.variacion as var');
		pasar_utf8_array($usuario);
		echo '<table align="center" width="500px"><tr><td style="border-bottom:1px; font-size:14px;" width="30%" rowspan="2">Producto</td><td style="border-bottom:1px; font-size:14px" width="30%" colspan=2>Cotizacion</td><td width=30% style="border-bottom:1px; font-size:14px" rowspan="2">Variacion</td><td td width="10%" style="border-bottom:1px; font-size:14px" rowspan="2">Unidad</tD</tr>
		<tr><td>Min</td><td>Max</td></tr>';
		foreach($usuario as $key => $value)
		{
			echo '<tr><td>'.$value['producto'].'</td><td>'.$value['cot_min'].'</td><td>'.$value['cot_max'].'</td><td>'.$value['var'].'</td><td>'.$value['medida'].'</td></tr>';	
		}
		echo '</table>';
		break;*/
	/*case 'informacion_caracteristicas':	//Caracteristicas de la mesa
		$usuario = consultaSimple('listado_mesas','id_mesa='.$_GET['id']);
		pasar_utf8_array($usuario);
		echo '<fieldset style="width:90%"><legend><b>Caracter&iacute;sticas</b></legend>
			<table width="95%">
				<tr><td width="60%">Rondas por puja:</td><td>'.$usuario['rondas_puja'].'</td></tr>
				<tr><td width="60%">M&aacute;ximo de usuario en la mesa:</td><td>'.$usuario['max_usuarios'].'</td></tr>
				<tr><td width="60%">Tiempo de habla por cada usuario:</td><td>'.$usuario['tiempo_habla'].'</td></tr>
</table>
			</fieldset>';

		break;*/
	/*case 'pedir_permiso':	//Para que pueda o no entrar segun permiso
		$usuario = consultaSimple('empresa_mesa em INNER JOIN seguridad_usuarios su USING (id_empresa)','em.id_mesa = '.$_GET['id'].' AND su.id_usuario = '.$_SESSION["obj_sesion"]->getIdUsuario());
		if(count($usuario)!=0){echo 'OK';}
		else{echo 'No tiene permiso para entrar en esta mesa';}
		break;*/
};
?>
